#! /bin/sh
# PCP QA Test No. 145
# Duplicate PMIDs in the PMNS
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard filters
. ./common.product
. ./common.filter
. ./common.check

$sudo rm -f $tmp.* $seq.full
trap "rm -f $tmp $tmp.*; exit 0" 0 1 2 3 15

_filter_load()
{
    sed -e "s#$tmp#TMP#g"
}

_filter()
{
    # initial ones are regular stuff ...
    # later ones are for systems that are not network byte ordered
    # also, deal with optional pmcd features (16 bits, error PDU);
    # squash them all into one common pattern, and when diagnosing
    # new failures, refer to seq.full
    #
    tee -a $seq.full \
    | sed \
	-e 's/ fd=[0-9][0-9]*/ fd=<n>/' \
	-e 's/dump from.*/dump from .../' \
	-e 's/^\[[0-9][0-9]*]/[PID]/' \
	-e 's/from=[0-9][0-9]*/from=PMCD/' \
	-e '/^000:/{
s/\(000:.................. \)......../\1    FROM/
s/\(000:..............7001......... \)........ ......../\1    DATE    STAMP/
}' \
	-e 's/ 1000000  b004007  1000000/       1  740000b        1/' \
	-e 's/ 1000000      201/       1  1020000/' \
	-e 's/ 1000000  b004007/       1  740000b/' \
	-e 's/       1 7fc00001/ 1000000  100c07f/' \
	-e 's/       1 7fc00002/ 1000000  200c07f/' \
	-e 's/ffffffff  a000000/ffffffff        a/' \
	-e 's/ffffffff  3000000/ffffffff        3/' \
	-e 's/  b004007/  740000b/' \
	-e 's/ ffffcf9e/ 9ecfffff/' \
	-e 's/ 7fc00001/  100c07f/' \
	-e 's/ 7fc00002/  200c07f/' \
	-e 's/ ffffcfba/ bacfffff/' \
	-e '/ 7000 /{
s/  2010040/  2010000/
s/  2010057/  2010000/
s/  2020057/  2010000/
s/      102/  2010000/
s/    10102/  2010000/
s/    20102/  2010000/
s/ 17000102/  2010000/
s/ 17010102/  2010000/
s/ 17020102/  2010000/
s/ 40000102/  2010000/
s/ 40010102/  2010000/
s/ 40020102/  2010000/
s/ 57000102/  2010000/
s/ 57010102/  2010000/
s/ 57020102/  2010000/
}' \
	-e 's/  201[0-9][0-9][0-9][0-9]/  2010000/' \
	-e 's/  [0-9][0-9][0-9][0-9]102/  2010000/' \
	-e 's/      201/  1020000/' \
	-e 's/      102/  2010000/' \
    # end
}

# real QA test starts here
cat >$tmp <<End-of-File
root {
    ten		29:0:11
    another_ten	29:0:11
    yet
}

yet {
    another
    again	29:0:11
}

yet.another {
    ten		29:0:11
}
End-of-File

pminfo -b1 -N $tmp 2>&1 | _filter_load
pminfo -b1 -D1 -n $tmp -fdm 2>&1 | _filter
